﻿using System;
using System.ComponentModel;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Ink;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes;

namespace Galaktika.BI.Charting.PivotChart
{
    //[SerializableComponent(false)]
    //[TypeConverter(typeof(ActionInfo.ActionInfoTypeConverter))]    
    public class ActionInfo //: IAssemblyResources
    {       

        public ActionInfo()
        {
            SetDefaultSettings();
        }

        /// <summary>
        /// Устанавливает настройки по-умолчанию
        /// </summary>
        public void SetDefaultSettings()
        {
            ACaption = "Action";
            AActionInvoker = null;
            AUseAction = true;
            ABeginNewGroup = false;
            AIconPath = String.Empty;
            //this.AssemblyName = Galaktika.BI.ImageLibrary.Identity.NAME;  Иконки
        }

       
        /// <summary>
        /// Наименование действия
        /// </summary>
        public String ACaption { get; set; }       

        /// <summary>
        /// Управляет использованием действия. True – действие обрабатывается (если оно настроено) False – действие не обрабатывается (даже если оно настроено)
        /// </summary>
        public bool AUseAction { get; set; }      

        /// <summary>
        /// Признак начала новой группы
        /// </summary>
        public bool ABeginNewGroup { get; set; }       
      
        /// <summary>
        /// Описывает иконку
        /// </summary>
        //[TypeConverter("Galaktika.BI.Builder.Design.Editors.ResoursesTypeConverter, Galaktika.BusinessMonitor")]
        //[Editor("Galaktika.BI.Builder.Design.Editors.ResourceImageEditor, Galaktika.BusinessMonitor", typeof(UITypeEditor))]
        //[LookupProperty("AssemblyName")]
        public String AIconPath { get; set;}
      

        /// <summary>
        /// Задает действие
        /// </summary>
        //        [AppliedProperty]
        //        [DefaultValue(null)]
        //[Editor("Galaktika.BI.Builder.Design.Editors.ActionInvokerEditor,Galaktika.BusinessMonitor", typeof(UITypeEditor))]
        //        [LocCategory("Brick_Category_Actions")]
        //        [LocDisplayName("Brick_PropName_Action")]
        //[TypeConverter("Galaktika.BI.Builder.Persistence.ActionInvoker.ActionInvokerTypeConverter,Galaktika.BusinessMonitor")]
        public object AActionInvoker { get; set; }


        //#region IAssemblyResources Members
        private string m_AssemblyName = string.Empty;//Galaktika.BI.ImageLibrary.Identity.NAME;
        //[DefaultValue("")]
        public string AssemblyName
        {
            get
            {
                return m_AssemblyName;
            }
            set
            {
                m_AssemblyName = value;
            }
        }
        //#endregion IAssemblyResources Members

    }
}
